// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------
// Modification history:
// feature: Code style modification
// ------------------------------------------------------------------

#ifndef INCLUDE_ERTPS_TYPES_TYPEOBJECT_H_
#define INCLUDE_ERTPS_TYPES_TYPEOBJECT_H_

#include <ertps/types/TypesBase.h>
#include <ertps/types/TypeObjectHashId.h>
#include <ertps/types/TypeIdentifier.h>
#include <ertps/types/AnnotationParameterValue.h>
#include <ertps/types/TypeIdentifier.h>
#include <deps/type/TypeObject.h>

namespace evbs {
namespace ertps {
namespace types {
using TypeObject = vbs::common::types::TypeObject;
using TypeIdentifierTypeObjectPair = vbs::common::types::TypeIdentifierTypeObjectPair;
using TypeInformation = vbs::common::types::TypeInformation;
using TypeIdentifierPair = vbs::common::types::TypeIdentifierPair;
using TypeIdentifierWithSize = vbs::common::types::TypeIdentifierWithSize;
using CompleteStructMember = vbs::common::types::CompleteStructMember;
using CompleteStructType = vbs::common::types::CompleteStructType;
using CompleteBitflag = vbs::common::types::CompleteBitflag;
using CompleteBitsetType = vbs::common::types::CompleteBitsetType;
using CompleteBitfield = vbs::common::types::CompleteBitfield;
using CompleteAnnotationType = vbs::common::types::CompleteAnnotationType;
using CompleteAnnotationParameter = vbs::common::types::CompleteAnnotationParameter;
using CompleteAliasType = vbs::common::types::CompleteAliasType;
using CompleteEnumeratedType = vbs::common::types::CompleteEnumeratedType;
using CompleteEnumeratedLiteral = vbs::common::types::CompleteEnumeratedLiteral;
using CompleteUnionMember = vbs::common::types::CompleteUnionMember;
using CompleteUnionType = vbs::common::types::CompleteUnionType;
using CompleteBitmaskType = vbs::common::types::CompleteBitmaskType;
using CommonStructMember = vbs::common::types::CommonStructMember;
using CompleteDiscriminatorMember = vbs::common::types::CompleteDiscriminatorMember;
using CompleteMemberDetail = vbs::common::types::CompleteMemberDetail;
using CompleteTypeDetail = vbs::common::types::CompleteTypeDetail;
using CompleteStructHeader = vbs::common::types::CompleteStructHeader;
using CommonUnionMember = vbs::common::types::CommonUnionMember;
using AppliedBuiltinTypeAnnotations = vbs::common::types::AppliedBuiltinTypeAnnotations;
using CompleteUnionHeader = vbs::common::types::CompleteUnionHeader;
using CommonDiscriminatorMember = vbs::common::types::CommonDiscriminatorMember;
using CommonAnnotationParameter = vbs::common::types::CommonAnnotationParameter;
using CompleteAnnotationHeader = vbs::common::types::CompleteAnnotationHeader;
using CommonAliasBody = vbs::common::types::CommonAliasBody;
using CompleteAliasBody = vbs::common::types::CompleteAliasBody;
using CompleteAliasHeader = vbs::common::types::CompleteAliasHeader;
using CompleteElementDetail = vbs::common::types::CompleteElementDetail;
using CommonCollectionElement = vbs::common::types::CommonCollectionElement;
using CompleteCollectionElement = vbs::common::types::CompleteCollectionElement;
using CommonCollectionHeader = vbs::common::types::CommonCollectionHeader;
using CompleteCollectionHeader = vbs::common::types::CompleteCollectionHeader;
using CompleteSequenceType = vbs::common::types::CompleteSequenceType;
using CommonArrayHeader = vbs::common::types::CommonArrayHeader;
using CompleteArrayHeader = vbs::common::types::CompleteArrayHeader;
using CompleteArrayType = vbs::common::types::CompleteArrayType;
using CompleteMapType = vbs::common::types::CompleteMapType;
using CommonEnumeratedLiteral = vbs::common::types::CommonEnumeratedLiteral;
using CommonEnumeratedHeader = vbs::common::types::CommonEnumeratedHeader;
using CompleteEnumeratedHeader = vbs::common::types::CompleteEnumeratedHeader;
using CommonBitflag = vbs::common::types::CommonBitflag;
using CommonBitmaskHeader = vbs::common::types::CommonBitmaskHeader;
using CommonBitfield = vbs::common::types::CommonBitfield;
using CompleteBitsetHeader = vbs::common::types::CompleteBitsetHeader;
using CompleteExtendedType = vbs::common::types::CompleteExtendedType;
using TypeIdentifierWithDependencies = vbs::common::types::TypeIdentifierWithDependencies;
using CompleteTypeObject = vbs::common::types::CompleteTypeObject;
using StringSTypeDefn = vbs::common::types::StringSTypeDefn;
using PlainSequenceSElemDefn = vbs::common::types::PlainSequenceSElemDefn;
using PlainSequenceLElemDefn = vbs::common::types::PlainSequenceLElemDefn;
using PlainArraySElemDefn = vbs::common::types::PlainArraySElemDefn;
using PlainArrayLElemDefn = vbs::common::types::PlainArrayLElemDefn;
using PlainMapSTypeDefn = vbs::common::types::PlainMapSTypeDefn;
using PlainMapLTypeDefn = vbs::common::types::PlainMapLTypeDefn;
using StronglyConnectedComponentId = vbs::common::types::StronglyConnectedComponentId;
using ExtendedTypeDefn = vbs::common::types::ExtendedTypeDefn;
using ExtendedAnnotationParameterValue = vbs::common::types::ExtendedAnnotationParameterValue;
using AppliedVerbatimAnnotation = vbs::common::types::AppliedVerbatimAnnotation;
using AppliedBuiltinMemberAnnotations = vbs::common::types::AppliedBuiltinMemberAnnotations;
using StringLTypeDefn = vbs::common::types::StringLTypeDefn;
using PlainCollectionHeader = vbs::common::types::PlainCollectionHeader;
typedef std::vector<TypeIdentifierWithSize> TypeIdentifierWithSizeSeq;
typedef std::vector<TypeIdentifierTypeObjectPair> TypeIdentifierTypeObjectPairSeq;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

}  // namespace types
}  // namespace ertps
}  // namespace evbs

#endif  // INCLUDE_ERTPS_TYPES_TYPEOBJECT_H_
